/*
 * 数组转换成树形结构，这个一般就是后台管理系统的菜单必备的函数
 * 前提是，后台返回的数据必须要有id和parentId
 * */
export default {
  array2tree(arr = []) {
    // 注意：该方法传入的数组里面是根据parentId来判断父子关系的
    const result = []
    // 非数组直接返回空数组
    if (!Array.isArray(arr)) {
      return result
    }
    // 定义一个临时空对象
    const tempObj = {}
    arr.map((item) => {
      delete item.children
      tempObj[item.id] = item
      const parent = tempObj[item.parentId]
      if (parent) {
        ;(parent.children || (parent.children = [])).push(item)
      } else {
        result.push(item)
      }
    })
    return result
  }
}
